﻿using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace facebook.businuss.netcore.sdk.Model
{
    public class Page
    {
        [JsonProperty(PropertyName = "about")]
        public String mAbout { get; set; }
        [JsonProperty(PropertyName = "access_token")]
        public String mAccessToken { get; set; }
        //[JsonProperty(PropertyName = "ad_campaign")]
        //public AdSet mAdCampaign { get; set; }
        [JsonProperty(PropertyName = "affiliation")]
        public String mAffiliation { get; set; }
        [JsonProperty(PropertyName = "app_id")]
        public String mAppId { get; set; }
        [JsonProperty(PropertyName = "artists_we_like")]
        public String mArtistsWeLike { get; set; }
        [JsonProperty(PropertyName = "attire")]
        public String mAttire { get; set; }
        [JsonProperty(PropertyName = "awards")]
        public String mAwards { get; set; }
        [JsonProperty(PropertyName = "band_interests")]
        public String mBandInterests { get; set; }
        [JsonProperty(PropertyName = "band_members")]
        public String mBandMembers { get; set; }
        [JsonProperty(PropertyName = "best_page")]
        public Page mBestPage { get; set; }
        [JsonProperty(PropertyName = "bio")]
        public String mBio { get; set; }
        [JsonProperty(PropertyName = "birthday")]
        public String mBirthday { get; set; }
        [JsonProperty(PropertyName = "booking_agent")]
        public String mBookingAgent { get; set; }
        [JsonProperty(PropertyName = "built")]
        public String mBuilt { get; set; }
        [JsonProperty(PropertyName = "business")]
        public Object mBusiness { get; set; }
        [JsonProperty(PropertyName = "can_checkin")]
        public Boolean mCanCheckin { get; set; }
        [JsonProperty(PropertyName = "can_post")]
        public Boolean mCanPost { get; set; }
        [JsonProperty(PropertyName = "category")]
        public String mCategory { get; set; }
        //[JsonProperty(PropertyName = "category_list")]
        //public List<PageCategory> mCategoryList { get; set; }
        [JsonProperty(PropertyName = "checkins")]
        public long mCheckins { get; set; }
        [JsonProperty(PropertyName = "company_overview")]
        public String mCompanyOverview { get; set; }
        //[JsonProperty(PropertyName = "connected_instagram_account")]
        //public IGUser mConnectedInstagramAccount { get; set; }
        //[JsonProperty(PropertyName = "connected_page_backed_instagram_account")]
        //public IGUser mConnectedPageBackedInstagramAccount { get; set; }
        //[JsonProperty(PropertyName = "contact_address")]
        //public MailingAddress mContactAddress { get; set; }
        [JsonProperty(PropertyName = "copyright_whitelisted_ig_partners")]
        public List<String> mCopyrightWhitelistedIgPartners { get; set; }
        [JsonProperty(PropertyName = "country_page_likes")]
        public long mCountryPageLikes { get; set; }
        //[JsonProperty(PropertyName = "cover")]
        //public CoverPhoto mCover { get; set; }
        [JsonProperty(PropertyName = "culinary_team")]
        public String mCulinaryTeam { get; set; }
        [JsonProperty(PropertyName = "current_location")]
        public String mCurrentLocation { get; set; }
        [JsonProperty(PropertyName = "delivery_and_pickup_option_info")]
        public List<String> mDeliveryAndPickupOptionInfo { get; set; }
        [JsonProperty(PropertyName = "description")]
        public String mDescription { get; set; }
        [JsonProperty(PropertyName = "description_html")]
        public String mDescriptionHtml { get; set; }
        //[JsonProperty(PropertyName = "differently_open_offerings")]
        //public Map<String, Boolean> mDifferentlyOpenOfferings { get; set; }
        [JsonProperty(PropertyName = "directed_by")]
        public String mDirectedBy { get; set; }
        [JsonProperty(PropertyName = "display_subtext")]
        public String mDisplaySubtext { get; set; }
        [JsonProperty(PropertyName = "displayed_message_response_time")]
        public String mDisplayedMessageResponseTime { get; set; }
        [JsonProperty(PropertyName = "emails")]
        public List<String> mEmails { get; set; }
        //[JsonProperty(PropertyName = "engagement")]
        //public Engagement mEngagement { get; set; }
        [JsonProperty(PropertyName = "fan_count")]
        public long mFanCount { get; set; }
        //[JsonProperty(PropertyName = "featured_video")]
        //public AdVideo mFeaturedVideo { get; set; }
        [JsonProperty(PropertyName = "features")]
        public String mFeatures { get; set; }
        [JsonProperty(PropertyName = "followers_count")]
        public long mFollowersCount { get; set; }
        [JsonProperty(PropertyName = "food_styles")]
        public List<String> mFoodStyles { get; set; }
        [JsonProperty(PropertyName = "founded")]
        public String mFounded { get; set; }
        [JsonProperty(PropertyName = "general_info")]
        public String mGeneralInfo { get; set; }
        [JsonProperty(PropertyName = "general_manager")]
        public String mGeneralManager { get; set; }
        [JsonProperty(PropertyName = "genre")]
        public String mGenre { get; set; }
        [JsonProperty(PropertyName = "global_brand_page_name")]
        public String mGlobalBrandPageName { get; set; }
        [JsonProperty(PropertyName = "global_brand_root_id")]
        public String mGlobalBrandRootId { get; set; }
        [JsonProperty(PropertyName = "has_added_app")]
        public Boolean mHasAddedApp { get; set; }
        [JsonProperty(PropertyName = "has_transitioned_to_new_page_experience")]
        public Boolean mHasTransitionedToNewPageExperience { get; set; }
        [JsonProperty(PropertyName = "has_whatsapp_business_number")]
        public Boolean mHasWhatsappBusinessNumber { get; set; }
        [JsonProperty(PropertyName = "has_whatsapp_number")]
        public Boolean mHasWhatsappNumber { get; set; }
        [JsonProperty(PropertyName = "hometown")]
        public String mHometown { get; set; }
        //[JsonProperty(PropertyName = "hours")]
        //public Map<String, String> mHours { get; set; }
        [JsonProperty(PropertyName = "id")]
        public String mId { get; set; }
        [JsonProperty(PropertyName = "impressum")]
        public String mImpressum { get; set; }
        [JsonProperty(PropertyName = "influences")]
        public String mInfluences { get; set; }
        //[JsonProperty(PropertyName = "instagram_business_account")]
        //public IGUser mInstagramBusinessAccount { get; set; }
        [JsonProperty(PropertyName = "instant_articles_review_status")]
        public String mInstantArticlesReviewStatus { get; set; }
        [JsonProperty(PropertyName = "is_always_open")]
        public Boolean mIsAlwaysOpen { get; set; }
        [JsonProperty(PropertyName = "is_chain")]
        public Boolean mIsChain { get; set; }
        [JsonProperty(PropertyName = "is_community_page")]
        public Boolean mIsCommunityPage { get; set; }
        [JsonProperty(PropertyName = "is_eligible_for_branded_content")]
        public Boolean mIsEligibleForBrandedContent { get; set; }
        [JsonProperty(PropertyName = "is_messenger_bot_get_started_enabled")]
        public Boolean mIsMessengerBotGetStartedEnabled { get; set; }
        [JsonProperty(PropertyName = "is_messenger_platform_bot")]
        public Boolean mIsMessengerPlatformBot { get; set; }
        [JsonProperty(PropertyName = "is_owned")]
        public Boolean mIsOwned { get; set; }
        [JsonProperty(PropertyName = "is_permanently_closed")]
        public Boolean mIsPermanentlyClosed { get; set; }
        [JsonProperty(PropertyName = "is_published")]
        public Boolean mIsPublished { get; set; }
        [JsonProperty(PropertyName = "is_unclaimed")]
        public Boolean mIsUnclaimed { get; set; }
        [JsonProperty(PropertyName = "is_verified")]
        public Boolean mIsVerified { get; set; }
        [JsonProperty(PropertyName = "is_webhooks_subscribed")]
        public Boolean mIsWebhooksSubscribed { get; set; }
        [JsonProperty(PropertyName = "keywords")]
        public Object mKeywords { get; set; }
        [JsonProperty(PropertyName = "leadgen_tos_acceptance_time")]
        public String mLeadgenTosAcceptanceTime { get; set; }
        [JsonProperty(PropertyName = "leadgen_tos_accepted")]
        public Boolean mLeadgenTosAccepted { get; set; }
        //[JsonProperty(PropertyName = "leadgen_tos_accepting_user")]
        //public User mLeadgenTosAcceptingUser { get; set; }
        [JsonProperty(PropertyName = "link")]
        public String mLink { get; set; }
        //[JsonProperty(PropertyName = "location")]
        //public Location mLocation { get; set; }
        [JsonProperty(PropertyName = "members")]
        public String mMembers { get; set; }
        [JsonProperty(PropertyName = "merchant_id")]
        public String mMerchantId { get; set; }
        [JsonProperty(PropertyName = "merchant_review_status")]
        public String mMerchantReviewStatus { get; set; }
        [JsonProperty(PropertyName = "messenger_ads_default_icebreakers")]
        public List<String> mMessengerAdsDefaultIcebreakers { get; set; }
        //[JsonProperty(PropertyName = "messenger_ads_default_page_welcome_message")]
        //public MessengerDestinationPageWelcomeMessage mMessengerAdsDefaultPageWelcomeMessage { get; set; }
        [JsonProperty(PropertyName = "messenger_ads_default_quick_replies")]
        public List<String> mMessengerAdsDefaultQuickReplies { get; set; }
        [JsonProperty(PropertyName = "messenger_ads_quick_replies_type")]
        public String mMessengerAdsQuickRepliesType { get; set; }
        [JsonProperty(PropertyName = "mission")]
        public String mMission { get; set; }
        [JsonProperty(PropertyName = "mpg")]
        public String mMpg { get; set; }
        [JsonProperty(PropertyName = "name")]
        public String mName { get; set; }
        [JsonProperty(PropertyName = "name_with_location_descriptor")]
        public String mNameWithLocationDescriptor { get; set; }
        [JsonProperty(PropertyName = "network")]
        public String mNetwork { get; set; }
        [JsonProperty(PropertyName = "new_like_count")]
        public long mNewLikeCount { get; set; }
        [JsonProperty(PropertyName = "offer_eligible")]
        public Boolean mOfferEligible { get; set; }
        [JsonProperty(PropertyName = "overall_star_rating")]
        public Double mOverallStarRating { get; set; }
        [JsonProperty(PropertyName = "page_token")]
        public String mPageToken { get; set; }
        [JsonProperty(PropertyName = "parent_page")]
        public Page mParentPage { get; set; }
        //[JsonProperty(PropertyName = "parking")]
        //public PageParking mParking { get; set; }
        //[JsonProperty(PropertyName = "payment_options")]
        //public PagePaymentOptions mPaymentOptions { get; set; }
        [JsonProperty(PropertyName = "personal_info")]
        public String mPersonalInfo { get; set; }
        [JsonProperty(PropertyName = "personal_interests")]
        public String mPersonalInterests { get; set; }
        [JsonProperty(PropertyName = "pharma_safety_info")]
        public String mPharmaSafetyInfo { get; set; }
        [JsonProperty(PropertyName = "phone")]
        public String mPhone { get; set; }
        [JsonProperty(PropertyName = "pickup_options")]
        public List<String> mPickupOptions { get; set; }
        [JsonProperty(PropertyName = "place_type")]
        public String mPlaceType { get; set; }
        [JsonProperty(PropertyName = "plot_outline")]
        public String mPlotOutline { get; set; }
        //[JsonProperty(PropertyName = "preferred_audience")]
        //public Targeting mPreferredAudience { get; set; }
        [JsonProperty(PropertyName = "press_contact")]
        public String mPressContact { get; set; }
        [JsonProperty(PropertyName = "price_range")]
        public String mPriceRange { get; set; }
        [JsonProperty(PropertyName = "privacy_info_url")]
        public String mPrivacyInfoUrl { get; set; }
        [JsonProperty(PropertyName = "produced_by")]
        public String mProducedBy { get; set; }
        [JsonProperty(PropertyName = "products")]
        public String mProducts { get; set; }
        [JsonProperty(PropertyName = "promotion_eligible")]
        public Boolean mPromotionEligible { get; set; }
        [JsonProperty(PropertyName = "promotion_ineligible_reason")]
        public String mPromotionIneligibleReason { get; set; }
        [JsonProperty(PropertyName = "public_transit")]
        public String mPublicTransit { get; set; }
        [JsonProperty(PropertyName = "rating_count")]
        public long mRatingCount { get; set; }
        [JsonProperty(PropertyName = "recipient")]
        public String mRecipient { get; set; }
        [JsonProperty(PropertyName = "record_label")]
        public String mRecordLabel { get; set; }
        [JsonProperty(PropertyName = "release_date")]
        public String mReleaseDate { get; set; }
        //[JsonProperty(PropertyName = "restaurant_services")]
        //public PageRestaurantServices mRestaurantServices { get; set; }
        //[JsonProperty(PropertyName = "restaurant_specialties")]
        //public PageRestaurantSpecialties mRestaurantSpecialties { get; set; }
        [JsonProperty(PropertyName = "schedule")]
        public String mSchedule { get; set; }
        [JsonProperty(PropertyName = "screenplay_by")]
        public String mScreenplayBy { get; set; }
        [JsonProperty(PropertyName = "season")]
        public String mSeason { get; set; }
        [JsonProperty(PropertyName = "single_line_address")]
        public String mSingleLineAddress { get; set; }
        [JsonProperty(PropertyName = "starring")]
        public String mStarring { get; set; }
        //[JsonProperty(PropertyName = "start_info")]
        //public PageStartInfo mStartInfo { get; set; }
        [JsonProperty(PropertyName = "store_code")]
        public String mStoreCode { get; set; }
        [JsonProperty(PropertyName = "store_location_descriptor")]
        public String mStoreLocationDescriptor { get; set; }
        [JsonProperty(PropertyName = "store_number")]
        public long mStoreNumber { get; set; }
        [JsonProperty(PropertyName = "studio")]
        public String mStudio { get; set; }
        [JsonProperty(PropertyName = "supports_donate_button_in_live_video")]
        public Boolean mSupportsDonateButtonInLiveVideo { get; set; }
        [JsonProperty(PropertyName = "supports_instant_articles")]
        public Boolean mSupportsInstantArticles { get; set; }
        [JsonProperty(PropertyName = "talking_about_count")]
        public long mTalkingAboutCount { get; set; }
        [JsonProperty(PropertyName = "temporary_status")]
        public String mTemporaryStatus { get; set; }
        [JsonProperty(PropertyName = "unread_message_count")]
        public long mUnreadMessageCount { get; set; }
        [JsonProperty(PropertyName = "unread_notif_count")]
        public long mUnreadNotifCount { get; set; }
        [JsonProperty(PropertyName = "unseen_message_count")]
        public long mUnseenMessageCount { get; set; }
        [JsonProperty(PropertyName = "username")]
        public String mUsername { get; set; }
        [JsonProperty(PropertyName = "verification_status")]
        public String mVerificationStatus { get; set; }
        //[JsonProperty(PropertyName = "voip_info")]
        //public VoipInfo mVoipInfo { get; set; }
        [JsonProperty(PropertyName = "website")]
        public String mWebsite { get; set; }
        [JsonProperty(PropertyName = "were_here_count")]
        public long mWereHereCount { get; set; }
        [JsonProperty(PropertyName = "whatsapp_number")]
        public String mWhatsappNumber { get; set; }
        [JsonProperty(PropertyName = "written_by")]
        public String mWrittenBy { get; set; }

    }
}
